<?php
/**
 * zen_clases_arbol_gtk.php
 * @author Juan Belon
 * @access public
 * @copyright LGPL, GPL
 * @package zenphp_generador
 * @version 0.1.1
 * @uses zenphp FrameWork
 * @link http://csl2-zenphp.forja.rediris.es
 * @link http://www.zenphp.es
 * @link https://forja.rediris.es/projects/csl2-zenphp/
 * @see zen_analizador_cartucho
 * @see zen_ventana_principal
 * @magic Proporciona clases para operar con los árboles de datos de la ventana principal del generador
 */
// +----------------------------------------------------------------------
// | zenphp.es
// +----------------------------------------------------------------------
///**
//* Clase para almacenar la información de un elemento del árbol de opciones
//*/
//class elemento_configuracion_arbol {
// /**
// * Etiqueta para el tipo
// * @var GtkLabel
// */
// public $etiqueta_tipo;
// /**
// * Etiqueta para el nombre
// * @var GtkLabel
// */
// public $etiqueta_nombre;
// /**
// * Etiqueta para el id
// * @var GtkLabel
// */
// public $etiqueta_id;
// /**
// * Etiqueta para el valor...opcional
// * @var GtkLabel
// */
// public $etiqueta_valor;
// /**
// * Icono Imagen basado en el tipo de valor
// * @var GtkImage
// */
// public $icono_imagen;
//}

class info_configuracion_arbol {
  /**
  * Id del elemento de lista del árbol
  * @var int
  */
  public $stock_id = '';
  /**
  * Contenido del elemento de la lista del árbol
  * @var str
  */
  public $contenido = null;
  /**
  * @var GtkImage
  */
  public $icono = null;
  /**
  *@var str
  */
  public $tipo = '';
  /**
  * Valor específico, una especificación de campo,un fichero .php,etc.
  * @var str
  */
  public $valor = '';
  /**
  * Constructor
  * @param int $stock_id 
  * @param str $tipo
  * @return info_configuracion_arbol
  */
  function __construct($stock_id = null,$tipo="") {
    $this->stock_id = $stock_id;
    /*if ($stock_id) {
      $this->tipo = $this->id_a_tipo($stock_id);
    }*/
    $this->tipo = $tipo;
  }
  /**
  * Función para el cargador de iconos,para que se lean de la lista de constantes
  * @param str $id
  * @return str
  */
  function id_a_tipo($id){
  if (substr($id, 0, 3) == 'gtk') {
    $cte = 'Gtk::STOCK' . preg_replace('!-([^-]+)!e', '"_".strtoupper("$1")', substr($id, 3));
  } else {
    $cte = substr(preg_replace('!([^-]+)-?!e', 'strtoupper($1)', $id), 1);
  }
  
  return $cte;
  }
} //fin-clase info_configuracion_arbol
?>